﻿using BCCommon;
using BCDto.Sim.Admin.Admin;
using BCDto.TMS.Contraband.ContrabandCategory;
using System;
using System.Collections.Generic;

namespace BCService.TMS.Contraband.ContrabandCategory
{
    public interface IContrabandCategoryService
    {
        /// <summary>
        /// 添加违禁品分类
        /// </summary>
        /// <param name="requestDto">违禁品分类添加信息</param>
        /// <param name="admin">管理员信息</param>
        /// <returns></returns>
        ContrabandCategoryDto Add(ContrabandCategoryRequestDto requestDto, AdminDto admin);

        /// <summary>
        /// 删除违禁品分类
        /// </summary>
        /// <param name="admin">管理员信息</param>
        /// <param name="contrabandCategoryId">违禁品分类Id</param>
        void Delete(AdminDto admin, int contrabandCategoryId);

        /// <summary>
        /// 更新违禁品分类
        /// </summary>
        /// <param name="requestDto">违禁品分类修改信息</param>
        /// <param name="contrabandCategoryId">违禁品分类Id</param>
        /// <param name="admin">管理员信息</param>
        /// <returns></returns>
        ContrabandCategoryDto Update(ContrabandCategoryRequestDto requestDto, int contrabandCategoryId, AdminDto admin);

        /// <summary>
        /// 获取违禁品分类
        /// </summary>
        /// <param name="admin">管理员信息</param>
        /// <param name="contrabandCategory">违禁品分类</param>
        /// <param name="createStartDate">创建开始日期</param>
        /// <param name="createEndDate">创建结束日期</param>
        /// <param name="pageIndex">页号</param>
        /// <param name="pageSize">每页数据条数</param>
        /// <returns></returns>
        PageableList<ContrabandCategoryDto> Query(AdminDto admin, string contrabandCategory, DateTime? createStartDate, DateTime? createEndDate, int pageIndex, int pageSize);

        /// <summary>
        /// 查询违禁品分类列表
        /// </summary>
        /// <param name="admin">管理员信息</param>
        /// <param name="contrabandCategory">违禁品分类</param>
        /// <returns></returns>
        IEnumerable<ContrabandCategoryDto> GetList(AdminDto admin, string contrabandCategory);
    }
}